Toward Unification of Explicit and Implicit Invocation-Style Programming
نویسنده
چکیده
Subprograms like procedures and methods can be invoked explicitly or implicitly; in implicit invocation, an event implicitly causes the invocation of subprograms that are registered an interest in the event. Mixing these two styles is common in programming and often unavoidable in developing such software as GUI applications and event-based control systems. However, it isn’t also uncommon for the mixed use to complicate programming logic and thus produce unclean code, code that is hard to read and understand. We show, through a small but realistic example, that the problem is not much on mixing two different styles itself but more on using them in an unconstrained manner. We propose a few principles or guidelines for unifying the two styles harmoniously and also describe a simple, proofof-concept framework for converting one style to the other for the unification. Our work enables one to blend the two different invocation styles harmoniously and in a properly constrained fashion to produce clean code.
منابع مشابه
Towards a Formal Treatment of Implicit Invocation
Implicit invocation [SN92,GN91] has become an important architectural style for large-scale system design and evolution. This paper addresses the lack of speci cation and veri cation formalisms for such systems. A formal computational model for implicit invocation is presented. We develop a veri cation framework for implicit invocation that is based on Jones' rely/guarantee reasoning for concur...
متن کاملCategorization of Implicit Invocation Systems
Development and maintenance of implicit invocation systems is not as well understood and supported as the development of explicit invocation systems. The situation is aggravated in systems that allow the composition of functionality developed by different organizations, potentially using different programming languages and methodologies. In this document, we categorize the various ways in which...
متن کاملPanini: Reconciling Concurrency and Modularity in Design
Writing correct and efficient concurrent programs still remains a challenge. Explicit concurrency is difficult, error prone, and creates code which is hard to maintain and debug. This type of concurrency also treats modular program design and concurrency as separate goals, where modularity often suffers. To solve these problems, we are designing a new language that we call panini. In this paper...
متن کاملAn Object-Oriented Event Calculus
Despite the rising popularity and usefulness of events, or implicit invocation, in software design, the availability of general-purpose event mechanisms are rare. Further, most event mechanisms available for software design are implemented as libraries or sets of macros that are constrained by the language in which they are used; making such mechanisms inconvenient to use as well as error-prone...
متن کاملسوگیری حافظه ناآشکار و آشکار در افراد افسرده بر اساس پردازش انتقال مناسب
The aim of the present research was to examine implicit and explicit memory bias in depressed individuals based on the Transfer Appropriate Processing (TAP) framework. For this purpose, 60 participants (30 outpatient depressed participants for the experimental group and 30 non-depressed participants for the control group) were selected as research sample based on psychiatric interviews of DSM-I...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015